Usability of personal computers is facilitated by the operating system that provides an interface between the user and the computer's hardware and software functions. One feature common to most modem operating systems is the concept of user accounts, which provides a mechanism for the operating system to manage multiple individuals or users who use a single computer. User accounts enhance usability by enabling the operating system to compartmentalize data among the individuals sharing a computer and to maintain customized settings for each of them. In an alternative use, an individual may have more than one user account on a single computer, in order to compartmentalize the different modes in which he or she uses the computer. For example, an individual may maintain one user account for personal use, and another user account for professional use. The term ‘user’ will be used in this description to denote a distinct user—i.e. an individual using a particular user account.
User accounts can be described as “native” to a particular computer. A user account is typically created on a computer when a particular user makes his or her first use of the computer. After the creation of the user account, the account exists on the computer as a means for that user to use the computer. All data and settings that the user creates or modifies are associated with that user account, and are stored on that computer, to which the account is native. The data and settings associated with the user account are typically not usable on other computers to which the account is not native. Some systems have centrally managed accounts, which are not native to a specific computer, but store and manage user accounts in a central network location. Such central account management systems typically require a backend server managed by an IT (information technology) department.
Two key concepts within the framework of user accounts are persistence and user sessions. Persistence involves presenting the computer to each user in the same state that the user left it the last time he or she used it, regardless of whether other users used it in the intervening period. The user state can include, but is not limited to, internet bookmarks, internet browsing history, email account settings, email contacts, desktop and graphical user interface (GUI) appearance, recently opened files, and contents of personal directories (such as the home directory in the LINUX® operating system, or the ‘Documents and Settings\$USERNAME’ directory in the MICROSOFT WINDOWS® operating system). All trademarks used herein are intended to identify a source of a product or goods; all trademarks are the properties of their respective owners. Persistence is enabled by the user session, which is a period of time during which the computer is used by a single user.
A user session is started when a user is granted access to a computer. The user commences the user session by “logging in,” selecting his or her account from a list of accounts existing as native to the computer, or available from a central account manager. Alternatively, a user may create a new account if he or she is using the computer for the first time as a particular user. Once the user session has commenced, the user may use the computer—creating, modifying, and deleting files, or customizing settings such as appearance, look, and feel. When the user is done, he or she ends the session by “logging-out.”
During a user session, a user is typically only allowed to use or modify files associated with his or her user account. Files associated with other user accounts are generally hidden. Similarly, during a user session, a user sees the computer in the same state as it existed when the user terminated his or her most recent user session. The user state is maintained by the operating system such that it is restored at the start of the user session. Thus, the user-account/user-session framework allows each user to enjoy a personalized view of the computer that persists across sessions, uncluttered by files belonging to other users. The user-account/user-session framework further provides for privacy and security of data by hiding files belonging to one user from other users.
Unfortunately, the information associated with a user account is typically confined to the computer on which it is native, on which it was originally created. In the case of centrally managed accounts, user account information is typically confined to the computers that are part of the IT system. A user who wishes to use a computer other than the one which he or she normally uses cannot create a user session associated with his or her usual user account on that machine. The only option typically available to such a user is to log in on the “Guest” user account. While this solution allows the user to use the host computer, it does not provide him or her with any of the state or data available to the user on his or her usual computer. A further drawback is privacy—information related to the tasks performed on the guest user account will remain on the host computer, which can be especially undesirable in situations where a user wishes to perform tasks related to his or her personal affairs on a computer owned by the user's employer.
If a user knows exactly what data he or she may need to use on a host computer, he or she can store that data on a portable media device (such as a USB drive, or “thumb-drive”) as a work-around, using the portable media device on the guest user account. The thumb-drive-plus-guest-account work-around is by no means ideal, as it requires foreknowledge of exactly which files will be needed, and does not save customized preferences or solve the privacy problem outline above.
Another work-around involves carrying a full operating system installation on a portable media device, and booting the host computer into that installation. The portable OS installation solution presents problems stemming from the data space it requires, as well as the inconvenience of requiring a full reboot to start and end the session. Furthermore, not all systems support booting from a portable media device.